package com.sc.nft.admin.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sc.nft.enums.SourceEnum;
import com.sc.nft.enums.task.ActivityTypeEnum;
import com.sc.nft.sup.PageRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
public class AdminMallPageOrderRequest extends PageRequest {

    @ApiModelProperty(value = "营销类型: SALES:品牌直销,EXCHANGE:活动兑换")
    @NotNull(message = "营销类型不能为空")
    private ActivityTypeEnum activityType;

    @ApiModelProperty(value = "订单号")
    private String orderNo;

    @ApiModelProperty(value = "下单开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date beginTime;

    @ApiModelProperty(value = "下单结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;

    @ApiModelProperty(value = "付款开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date payBeginTime;

    @ApiModelProperty(value = "付款结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date payEndTime;

    @ApiModelProperty(value = "商品名称")
    private String productName;

    @ApiModelProperty("订单状态   0:超时取消 1:待付款 2:待发货 3:待收货 4:已收货 5:已完成 9:全部")
    @NotNull(message = "订单状态不能为空 默认值为9")
    private Integer status;

    @ApiModelProperty(value = "支付方式 0:全部 5:杉德绑卡支付 6:钱包支付 7:汇付支付 ")
    @NotNull(message = "支付方式不能为空 默认值为0")
    private Integer payType;

    @ApiModelProperty(value = "是否有售后 0:全部 1:有 2:没有")
    @NotNull(message = "是否有售后不能为空 默认值为0")
    private Integer isRefund;

    @ApiModelProperty(value = "手机号")
    private String userTel;

    @ApiModelProperty(value = "供应商id")
    private Long supplierId;//categoryName

    @ApiModelProperty(value = "商品类目")
    private String categoryName;

    @ApiModelProperty(value = "订单来源")
    private SourceEnum orderSource;

}
